The present invention relates to methods and systems for processing calls in a packet network. More particularly, the present invention relates to methods and systems for processing calls in a packet network using peer call servers implementing half call modeling.
When a network, such as a voice over internet protocol (IP) network, grows to a certain size, a single call server cannot handle all of the call signaling traffic. As used herein, the term call server refers to an entity that performs call signaling functions in a voice over IP network. Examples of call servers include gatekeepers that implement ITU Recommendation H.323, connection managers that communicate with media gateways, according to the media gateway control protocol (MGCP), and proxy servers that implement the session initiation protocol (SIP). In order to handle the increased call traffic when a network grows to a certain size, it is desirable to utilize multiple call servers to perform call signaling operations for both capacity and reliability reasons.
When multiple call servers, i.e., two or more call servers, are operating within a network, routing and translation data, such as the mappings from numbering plan addresses, such as private numbering plan addresses, public numbering plan addresses, or E.164 addresses, to call signaling transport addresses, must be made available among multiple peer call servers. In addition, messages transported between peer call servers must be handled in an efficient manner. As used herein, the term peer call servers refers to a group of call servers that perform call processing functions as peers, rather than as clients and servers. If any of the above-mentioned operations that are to be performed by peer call servers require significant amounts of time and/or network traffic, the network will not work efficiently. Accordingly, there exists a need for novel methods and systems for efficiently performing call processing operations using a plurality of peer call servers.
Another problem associated with using multiple call servers to process calls in a packet network is to ensure that call servers are provisioned with translation information, such as E.164 address translation information, in a reliable, consistent, and efficient manner. For example, when an endpoint hosted by one call server moves to a location hosted by another call server, a reliable mechanism for updating the translation information in every affected call server is preferably provided. Accordingly, there exists a need for novel methods and systems for reliably, consistently, and efficiently provisioning call servers with translation information for hosted and non-hosted endpoints.
According to one aspect of the present invention, network translation information is generated and distributed among call servers in a network. A packet telephony manager (PTM) generates network translation information to be stored by each of the call servers. The network translation information includes a call server ID and an endpoint ID. Each call server ID uniquely identifies a call server. Each endpoint ID uniquely identifies an endpoint hosted by the call server. The PTM can also include a graphical user interface (GUI) that allows a network administrator to monitor and alter the network translation information transmitted to the call servers.
According to another aspect, the present invention includes a method for translating a directory number into a call signaling transport address using multiple call servers. The method includes receiving a SETUP message at a first call server in a packet network. The SETUP message includes a directory number for a called end user in an internet protocol (IP) communication. In response to receiving the SETUP message, a translation is executed to obtain a list of entity addresses corresponding to the directory number. Each entity address includes a call server ID for a second call server and an endpoint ID for the endpoint to which a call is sought to be routed. A terminating SETUP message including the call server ID and the endpoint ID is then transmitted to the second call server. The second call server determines a call signaling transport address for the entity to which the call is to be routed based on the endpoint ID.
Accordingly, it is an object of the present invention to provide novel methods and systems for processing calls in a packet network using a plurality of call servers.
Some of the objects of the invention having been stated hereinabove, other objects will be evident as the description proceeds, when taken in connection with the accompanying drawings as best described hereinbelow.